package com.lxh.lxhcrm.model.mappers.preSale;

import com.lxh.lxhcrm.model.pojos.OppoExam;
import com.lxh.lxhcrm.model.pojos.Opportunity;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 开发团队 ：lxh
 * 开发人员 ：罗晓
 * 开发时间 ：2020/1/9 11:28
 * 接口名称 ：OppoMapper
 * 接口描述 ：
 */
@Component
public interface OppoMapper {

    /**
     * 获取所有销售机会
     * @param state
     * @param search
     * @param customerId
     * @return
     */
    List<Opportunity> findAllOppo(@Param("state") Integer state,@Param("search") String search,@Param("searchBy") Integer searchBy,@Param("customerId") Integer customerId);

    /**
     * 根据oppo_id查此机会的各次评定
     * @param oppoId
     * @return
     */
    List<OppoExam> findOppoExam(@Param("oppoId") Integer oppoId);

    /**
     * 根据empId，oppoStateId，date来查询detail_offer里的报价产品
     * @param empId
     * @param oppoStateId
     * @param date
     * @return
     */
    List<Map<String,Object>> findNeedPro(@Param("empId") Integer empId, @Param("oppoStateId") Integer oppoStateId, @Param("date")Date date);

    /**
     * 根据pro_detail_id,来查找有此类商品的销售机会
     * @param proDetailId
     * @return
     */
    List<Map<String,Object>> findDetailPro(@Param("proDetailId") Integer proDetailId, @Param("date")Date date);

    /**
     * 简单的查询Emp
     * @return
     */
    List<Map<String,Object>> findEasyEmp();

    /**
     * 根据OPPOID找到机会改is_on
     * @param oppoId
     */
    void lossActivity(@Param("oppoId")Integer oppoId);

    /**
     * 简单的机会查询
     * @return
     */
    List<Map<String,Object>> selectOppo();
}
